//ESTE ES EL BUSCADOR DE AUTORES!
var Gb = 'http://localhost/SVN/UTNFRGPBIBLIOTECA/';
$(function(){
 $("#btnNormal").attr("disabled",true); // se ejecuta 
    llamarBd({'motivo':'TableCompleta','id':'','estado':1});     // al comenzar

 $("#txtBuscador").keyup(function(event){
   if($("#txtBuscador").val().length >=3)
     {
      if(validar(event.keyCode)){
       if($("#btnNormal").attr("disabled"))//pregunta si el boton normales esta desactivado
              llamarBd({'motivo':'Consulta','id':$("#txtBuscador").val(),'estado':1});   //si lo esta significa que debe mostrar todas las coincidencias de los normales
         else llamarBd({'motivo':'Consulta','id':$("#txtBuscador").val(),'estado':0}); // caso falso muestra las coincidencias de los borrados
      }
     }
     else if($("#txtBuscador").val().length == 0) //si se borro hasta el ultimo caracter del textbox
       {                                          //debe listar la lista completa
          if(validar(event.keyCode)){
           if($("#btnNormal").attr("disabled"))  //la lista de los normales si esta el boton normal desactivado
                  llamarBd({'motivo':'TableCompleta','id':$("#txtBuscador").val(),'estado':1});      //la lista de los borrados caso falso
             else llamarBd({'motivo':'TableCompleta','id':$("#txtBuscador").val(),'estado':0});
           }
       }
      }); 
});

function validar(letra){
if((letra > 64 && letra < 91) || letra == 192|| letra == 8)return true; //si es letra o backspace habilita buscar en bd
return false; 
}

function llamarBd(vec){
  $(document).ajaxStart(Espera);
  var url = Gb+'autores/pedidoBase';
  $.post(url,{Cadena:JSON.stringify(vec)},Resultado);
}	

function Espera(){
	 $("#spanEspera").html('<img src="'+Gb+'public/imagenes/loading.gif" width="20px">');
}
//var arr; //vector global que utilizo en function resultado y vuelvo a usar en la funcion de la linea 161
//no es mas global por que ya no lo uso, por que no va a existir mas el textbox id segun Lucas
function Resultado(valor){
   var arr = JSON.parse(valor);
	if(arr['texto'] == "No hay Coincidencias" || arr['texto'] == "No hay Registros"){
    $("#spanEspera").text("");
    $("#spanBuscador").text(arr['texto']);
  }
  else{
    $("#spanEspera").text("");
    arr = JSON.parse(valor);
	  var listado = '';
    var camposOcultos ='';
	  listado += '<table border="2"><tr>';
    if(arr[0]['estado'] == 1) listado += '<th>  </th>';
    listado += '<th> </th> <th> IdAutor </th><th> Nombre </th> <th> Apellido ';
    listado += '</th> <th> Estado </th> </tr>';
  var Cont = 0;
	for(i = 0; i<arr.length ; i++ )
	{
    listado += '<tr>';
    if(arr[i]['estado'] == 1 ) listado += '<td><a id ="ImgModificar' + arr[i]['idAutor'] + '" href="asd"> <img src="'+Gb+'public/imagenes/editar.png" width ="20px"> </a></td>';
    if(arr[i]['estado'] == 1 ) listado += '<td><a id="Borrar' + arr[i]['idAutor'] + '" href="http://"><img src="'+Gb+'public/imagenes/delete.png" width="20px"></a></td><td>';
		else listado += '<td><a id ="Restaurar' + arr[i]['idAutor'] + '" href="http://"><img src="'+Gb+'public/imagenes/edit.png" width="20px"></a></td><td>';
    listado += arr[i]['idAutor'] + '</td><td>';
    camposOcultos += '<input type="hidden" id="N' + arr[i]['idAutor'] + '" value="' + arr[i]['nombre']   + '" > ';
    camposOcultos += '<input type="hidden" id="A' + arr[i]['idAutor'] + '" value="' + arr[i]['apellido'] + '" > ';
	  listado += arr[i]['nombre'] + '</td><td>';
		listado += arr[i]['apellido'] + '</td><td>';
    if(arr[i]['estado'] == 1 )
		listado += 'Activo'/*arr[i]['estado']*/ + '</td></tr>';
    else listado += 'Borrado'/*arr[i]['estado']*/ + '</td></tr>';  
    Cont++;     
	}
	listado += '</table>';
  $("#spanBuscador").html(listado + camposOcultos);

   //funciones a ejecutarse recien cuando se crea la table
    $(function(){
      for(z=0;z<Cont;z++){
       if($("#btnNormal").attr("disabled")){ //pregunta si el boton normal esta desactivado
	       $("#Borrar"+ arr[z]['idAutor']).click(function(event){//lo que significa que arma la funcion borrar click para cada item
          event.preventDefault();
           if($("#btnAgregar").css("display") == 'inline-block'){ //si el boton agregar esta visible permito borrar, sino no lo PERMITO! -.- ahxd, por que al no estar activado quiere decir que esta visible el boton modificar, y en cuyo caso no permito borrar cuando esta modificando, por que no va a hacer la incoherencia de borrar algo que esta modificando,es decir que se han apoderado de lo que creiamos creer y﻿ nos hacen creer que creiamos que los pensamientos que emos tenido son pensamientos que creemos que creiamos? 
               var vec = $(this).attr("id"); 
               var elemento = vec.substring(6,vec.length); //donde 6 es donde termina Borrar y empieza el id
               llamarBd({'motivo':'borrar','id':elemento,'estado':1});
            }
         });
         }
         else {
               $("#Restaurar" + arr[z]['idAutor']).click(function(event){ //si esta 
                     event.preventDefault();
                     var vec = $(this).attr("id");
                     var elemento = vec.substring(9,vec.length); //donde 9 es donde termina Restaurar y empieza el id
                     llamarBd({'motivo':"restaurar",'id':elemento,'estado':0});
              }  
             );
          } 
              $("#ImgModificar"+ arr[z]['idAutor']).click(function(event){      
                event.preventDefault();
                var elemento = $(this).attr("id"); 
                var idObj = elemento.substring(12,elemento.length); //saca el id agarrando el texto luego de ImgRestaurar
                $("#txtNombre").val($("#N"+idObj).val()); //extrae el valor del campo hidden N+(el id) que es el mismo que se recupera en la variable elemento
                $("#txtApellido").val($("#A"+idObj).val()); //extrae el valor del campo hidden A+(el id) que es el mismo que se recupera en la variable elemento
                $("#txtIDautor").val(idObj);
                
                $("#btnAgregar").css("display","none"); //por defecto es inline-block
                $("#btnModificar").css("display","inline-block");
              });
       }  
    });  
} 
    if($("#btnNormal").attr("disabled") && $("#spanBuscador").text() == "No hay Registros"){
          $("#txtBuscador").attr("disabled",true);//desactiva el textbox en caso de no haber registros      
          $("#txtBuscador").val("");
        }
    if($("#btnEliminados").attr("disabled") && $("#spanBuscador").text() == "No hay Registros"){
          $("#txtBuscador").attr("disabled",true);//desactiva el textbox en caso de no haber registros      
          $("#txtBuscador").val("");
        }
} 
$(function(){
  $("#btnNormal").click(function(event){
    $(this).attr("disabled",true); //desabilita el boton normal y muestra la pestaña normales
    $("#btnEliminados").attr("disabled",false); //habilita boton eliminados para que pueda ser presionado en caso de querer cambiar
    $("#txtBuscador").attr("disabled",false);
    $("#txtBuscador").val("");
    llamarBd({'motivo':'TableCompleta','id':'','estado':1});
    }
  );
  $("#btnEliminados").click(function(event){
    $(this).attr("disabled",true);
    $("#btnNormal").attr("disabled",false);
    $("#txtBuscador").attr("disabled",false); 
    $("#txtBuscador").val("");
    llamarBd({'motivo':'TableCompleta','id':'','estado':0});
  });

          $("#btnModificar").click(function(event){
                event.preventDefault();
                var vic = {id:$("#txtIDautor").val(),
                           nombre:$("#txtNombre").val(),
                           apellido: $("#txtApellido").val()
                };
                var lista = JSON.stringify(vic);
                llamarBd({'motivo':"modificar",'id':lista,'estado':1});
                $("#btnNormal").attr("disabled",true);
                $("#btnEliminados").attr("disabled",false);
                $("#btnModificar").css("display","none");
                $("#btnAgregar").css("display","inline-block"); 
                //$("#txtIDautor").attr("readonly",false);
                blanquear();
                });  

});

$(function(){
   $("#btnAgregar").click(function(event){
    event.preventDefault();
     if($("#txtNombre").val()!=""
      && $("#txtApellido").val() !="")
     {/*
      for(var i = 0;i <arr.length; i++){
          if(arr[i]['idAutor'] == $("#txtIDautor").val()){
          alert('id existente en la Bd');
           return;  
          }
        }*/
      //var id = $("#txtIDautor").val();
      var nom = $("#txtNombre").val();
      var ape = $("#txtApellido").val();
      var objeto = new Agregado(/*id,*/nom,ape);
       var lista = JSON.stringify(objeto);
       llamarBd({'motivo':'agregar','id':lista,'estado':1});
       $("#btnNormal").attr("disabled",true);//para que se activen los botones borrar y restaurar
       $("#btnEliminados").attr("disabled",false);
       $("#cartel").text("OK").fadeIn(200);
       $("#cartel").text("OK").fadeOut(3000);
       blanquear();
       if($("#txtBuscador").attr('disabled'))//pregunta si al agregar el textbox buscador esta desabilitado, si lo esta, esto significa que no existe ningun registro, al agregar, existira un registro, por lo tanto el textbox buscador se tiene que habilitar
        $("#txtBuscador").attr('disabled',false);
     }
   });
});
function Agregado(nom,ape){ //saque de la lista de parametros id
            //this.id = id; //xq no se va a usar mas el textbox id segun Lucas
            this.nombre = nom;
            this.apellido = ape;
}

function blanquear(){
  $("#txtNombre").val("");
  $("#txtApellido").val("");
}

